Gestures and touches on force-sensitive input devices

ABSTRACT

A force-sensitive touch sensor detects location and force of touches applied to the sensor. Movement of an object touching the force-sensitive touch sensor correlates to movement of a pointer on a display device. Varying levels of force applied to the force-sensitive touch sensor are interpreted as different commands. Objects displayed on the display device can be manipulated by a combination of gestures across a surface of the force-sensitive touch sensor and changes in force applied to the force-sensitive touch sensor.

RELATED APPLICATION

This application is a divisional of and claims priority to U.S. patentapplication Ser. No. 12/846,268 filed on Jul. 29, 2010, which claims thebenefit of U.S. Provisional Application No. 61/230,592 filed on Jul. 31,2009, both of which are incorporated by reference herein in theirentirety.

BACKGROUND

Research on human-computer interactions seeks to improve the ease withwhich people use electronic devices. Pursuing this objective has led toan array of different input devices such as keyboards, mice, trackballs,joysticks, game controllers, microphones, touch screens, graphicstablets, and the like. Each of these various input devices is supportedby software that interprets the signals generated by the devicehardware. For some technologies, such as voice recognition, it isadvances in software rather than advances in hardware that contributemost to the usability of an input device. Continuing advances in inputdevice hardware require concordant advances in software to maximize theusability of new types of input devices.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is set forth with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different figures indicates similaror identical items.

FIG. 1 depicts multiple computing devices configured to accept inputfrom force-sensitive touch sensors and a schematic of inputs generatedby a force-sensitive touch sensor.

FIG. 2 depicts one of the computing devices from FIG. 1 having a touchscreen with multiple soft buttons displayed on the touch screen.

FIG. 3 is two illustrative graphs showing force and associated touchthresholds for input on the force-sensitive touch sensor and showinglocations of touch applied to the computing device of FIG. 2.

FIG. 4 is an illustrative block diagram of the computing device fromFIGS. 1 and 2 with a touch control module configured to interpret inputsfrom the force-sensitive touch sensor.

FIG. 5 illustrates a user interacting with a soft button through bothisometric and isotonic operations.

FIG. 6 illustrates a user intuitively combining graphical icons using aforce-sensitive touch sensor to generate a command.

FIG. 7 illustrates a user operating a virtual rocker button on aforce-sensitive touch sensor.

FIG. 8 depicts an illustrative four-way virtual rocker button and agraph showing variations in force across the four-way virtual rockerbutton.

FIG. 9 depicts a force-sensitive touch sensor as an illustrative tabletinput device and a display showing inputs from the tablet.

FIG. 10 depicts an illustrative touch-screen display with threedifferent pointer sizes and a graph showing the force of three toucheson the touch-screen display.

FIG. 11 is an illustrative process of generating a pointer from a touchon a force-sensitive touch sensor and interacting with soft buttonsusing the pointer.

FIG. 12 shows a swipe gesture moving a three-dimensional object.

FIG. 13 shows a pinch gesture making a three-dimensional object appearto move away from a surface of a display.

FIG. 14 shows a spread gesture making a three-dimensional object appearto move towards a surface of a display.

FIG. 15 shows a rotation gesture rotating the orientation of athree-dimensional object about a z-axis.

FIG. 16 shows a change in force applied between two touches rotating theorientation of a three-dimensional object about a y-axis.

DETAILED DESCRIPTION

Overview

Restive touch sensors employ multiple layers of conductive material todetect pressure-based inputs. This is compatible with stylus-based inputbut does not accurately detect fingertip touch inputs. Capacitive touchdetects electrical changes caused by a fingertip. This type of touchsurface is much more accurate and responsive than resistivetechnologies, but does not work with a conventional stylus. A new typeof touch sensor incorporates both restive and capacitive touch sensing.Interpolating force-sensitive resistance (IFSR) uses force-sensitiveresistors, which become more conductive as a user applies differentlevels of pressure to the touch sensor. Conventional sensors (bothresistive and capacitive) detect touch pressure only as a binarycondition—touch or no touch. This capability of IFSR arrays to detectvarying strengths of touches provides for richer input capabilities.

Electronic devices such as cellular phones, portable media players,tablet computers, netbooks, laptops, electronic book (“eBook”) readers,and so forth, incorporate various types of touch sensors that enableusers to control and otherwise interact with the devices. These touchsensors may be input-only devices such as a drawing tablet or combinedwith an output device in a touch-screen display. Touch-screen displaysare intuitive and suitable for mobile devices because a separate tabletinput device would be impractical. However, the ergonomics of desktopcomputing systems with larger displays generally located at eye levelaway from a user's hands, favor input tablets that can be placed on adesktop next to a mouse or keyboard.

This disclosure describes, in part, architecture and techniques forutilizing a force-sensitive touch sensor to interact with a computingdevice. The ability to detect an amount of force as well as a locationon the touch sensor introduces a third dimension to user interactionwith touch sensors. Use of a force-sensitive touch sensor (touch-screenor tablet) creates a touch profile of all the factors associated withthe touch input (e.g., location, force, and time). Various commands maybe assigned to different touch profiles creating new types of userinputs and human-computer interactions not possible with other inputdevices.

Illustrative Touch-Screen Device

FIG. 1 depicts computing device(s) 100 configured to receive touchinput. The computing device(s) 100 may be any type of computing devicesuch as a personal digital assistant, mobile telephone, electronic bookreader, media player, net book, laptop computer, desktop computer,server, etc. In some implementations, the computing device(s) 100 may beequipped with a touch-screen 102 for receiving input that also functionsas a display for generating output. The touch-screen 102 may be operatedby application of incident force, such as a user finger or stylus 104pressing upon the touch-screen 102. In other implementations, the touchsensor may comprise a tablet 106 that accepts touch input but does notfunction as a display. The tablet 106 may also be operated by a finger,a stylus 104, or other object.

The touch screen 102 and tablet 106 both leverage a force-sensitivesensor 108. In one particular implementation, the force-sensitive sensor108 is embodied as an interpolating force-sensitive resistance (IFSR)sensor which employs force-sensitive resistors. Each application ofincident force on the force-sensitive touch sensor 108 creates a contactpoint, such as the two contact points 110 and 112 illustrated in FIG. 1.The shape of contact at the contact point 110 and 112 is determined bythe object creating the incident force on the force-sensitive touchsensor 108. A stylus 104 may create a smaller, circular shaped contactpoint 110 while a fingertip may create a larger and generallyoval-shaped contact point 112. The contact points 110 and 112 may becharacterized by the location of the contact on the touch-sensitivetouch sensor 108 represented by X and Y coordinates. In someimplementations, a center of each contact point 110 and 112 is definedas the location of the contact. However, the contact point 110 and 112may also be characterized by the area of the force-sensitive touchsensor 108 that receives incident force. The amount and shape of asurface that is being touched may distinguish between a finger and astylus, a sharp stylus and a blunt stylus, between a thumb and a pinky,etc.

The force-sensitive touch sensor 108, by virtue of beingforce-sensitive, also detects a magnitude of incident force applied tothe surface of the touch sensor 108. This sensitivity allows theforce-sensitive touch sensor 108 to detect a “depth” of touch which addsa Z coordinate to the touch input. Accordingly, each application ofincident force to the touch-sensitive touch sensor 108 may beinterpreted as having a location (e.g., X and Y), a surface area/shape(e.g., area in X-Y plane), and an amount of force (e.g., Z).

For convenience only, the force-sensitive touch sensor 108 is shown in agenerally rectangular configuration. However, it is understood that theforce-sensitive touch sensor 108 may be implemented in any shape, andmay have any ratio of height to width. Also, for stylistic or designpurposes, the force-sensitive touch sensor 108 may be curved orotherwise non-linearly shaped. Furthermore the force-sensitive touchsensor 108 may be flexible and configured to fold or roll.

FIG. 2 is an illustrative user interface 200 of the computing device(s)100 of FIG. 1. The computing device(s) 100 includes a touch screen 102displaying the user interface 200. The user interface 200 includes aplurality of soft buttons 202, 204, and 206. Although shown here for thesake of simplicity as generally rectangular buttons, the soft buttons202, 204, and 206 may take any shape or configuration such as a spinbutton, scroll bar, slider bar, hyperlink, and the like. The softbuttons 202, 204, and 206 broadly represent any area of the touch screen102 that, when receiving a touch, is interpreted by the computing device100 as a command. In this example, a hand 208 of a user first touchesthe Button A 202, then Button B 204, and next Button C 206 forming aroughly triangular pattern of movement. However, the user mayalternatively use a stylus or other implement (e.g., including otherbody parts such as a toe or a nose) for pressing on the touch screen102. At each of the buttons 202, 204, and 206, the hand 208 of the userpresses down on the touch screen 102 with a greater amount of incidentforce. The user interface 200 may change in response to detecting theincreased incident force by changing the visual appearance of the softbutton corresponding to the region of the touch screen 102 which ispressed by the user. The change in visual appearance may be ahighlighting, appearance of a physical button being depressed, achanging shading of the soft button, or other visual change.

FIG. 3 includes an illustrative graph 300 showing the movement of thehand 208 along the surface of the touch screen 102 shown in FIG. 2. Thex-axis 302 of the graph 300 represents a horizontal dimension of thetouch screen 102. The y-axis 302 of the graph 300 represents a verticaldimension of the touch screen 102. The hand 208 moving across the touchscreen 102 over Button A 202, Button B 204, and Button C 206 forms aroughly triangular shape. When this roughly triangular shape is comparedwith the user interface 200 shown in FIG. 2, Point A 306 correspondswith Button A 202, Point B 308 corresponds with Button B 204, and PointC 310 corresponds with Button C 206. This graph 300 captures arepresentation of the movement of the user's hand 208 in two dimensionsacross the touch screen 102 first contacting the touch screen 102 at thelower middle of the screen and ceasing contact with the touch screen 102at Point C 310.

FIG. 3 further includes an illustrative graph 312 which shows forceapplied by the hand 208 shown in FIG. 2 as it moves across the touchscreen 102. The vertical axis 314 (or Z-axis) represents a magnitude offorce applied by the user on the touch screen 102, while the horizontalaxis 316 of the graph 312 represents a time. Thus, the graph 312 showschanges in how hard the user presses on the touch screen 102 over time.The magnitude of applied force 314 may be interpreted by a touch sensoras a Z-axis component as shown in FIG. 1. Where the touch sensor iscapable of providing a magnitude of force, that is, how hard an objectis pressing on the touch sensor, the magnitude may be used to set one ormore touch thresholds. For illustrative purposes, and not by way oflimitation, assume that four touch levels are used. These four touchlevels consist of no touch, light touch, medium touch, and hard touch. Alow threshold 318 shown as a dashed line separates light touches frommedium touches. A high threshold 320 shown as a dashed line separatesmedium touches from hard touches. Not shown is the trivial case of theno touch threshold in which no force is applied.

The touch thresholds may be absolute or relative. An absolute thresholdis set such that a specific quantity of force is required to meet thatthreshold. For example, where an absolute threshold is in use, a lighttouch may comprise a force application of 1 Newton (N) while a mediumtouch is 2 N, and a hard touch is 3 N.

Relative touch thresholds, in contrast, may be determined by comparisonof force applied between two or more digits, between two or more touchesof the same finger, or other factors. For example, a hard touch may beconsidered to be three times the force applied by the lightest touchmade by a user. In other implementations, force comparisons may be madebetween fingers on different hands, different drawing implements (e.g.,a hard stylus compared to a soft brush), or different users. Thresholdsmay also be dynamic and adjust over time. The computing device 100 mayautomatically raise and lower the threshold to adapt to the user overtime (e.g., during prolonged use of the computing device 100 the user'stouches may gradually become softer) and continue to differentiatedifferent strength touches. A prolonged touch may be interpreted as theuser resting his or her hand (or another object) on the touch sensor andthe amount of force applied by the prolonged touch may cause a baselinethreshold to adjust upwards to account for the force of the prolongedtouch.

In this illustration, the graph 312 depicts an unbroken touch (i.e., theuser never removes his or her finger from the touch sensor). This touchexceeds the low threshold 318 three times at Peak A 322, Peak B 324, andPeak C 326. At Peak C 326, the magnitude of applied force also exceedsthe high threshold 320. Between each of the peaks 322, 324, and 326 themagnitude of force applied decrease to the level of a light touch.

In this example, the increase in applied force at Peak A 322 correspondsto the X-Y coordinates of Point A 306. This represents the hand 208pressing harder on the touch screen 102 when the hand 208 is touchingButton A 202. Analogous to pressing an actual button to activate, thisforce-sensitive gesture allows for the pressing of a soft button toprovide user input to the computing device 100. The computing device 100may interpret contact with Button A 202 that exceeds the magnitude offorce of the low threshold 318 as a “press” while not responding tolower levels of force. This configuration allows the user to move afinger or stylus across the touch screen 102 with a low amount ofapplied force without activating every soft button that the finger orstylus passes over. Peak B 324 represents a similar increase in force or“press” at Point B 308 which corresponds to pressing Button B 204.

Different magnitudes of touch may result in different input functions.For example, Button C 206 may only respond to a hard touch. The hardtouch is represented by the magnitude of force at Peak C 326 exceedingthe high threshold 320. As with the other soft buttons, Peak C 326corresponds to Point C 310 which in turn corresponds with Button C 206.A harder touch may be required to activate Button C 206 than the othersoft buttons because a function assigned to Button C 206 may havenegative consequences if inadvertently activated (e.g., turning offpower to the computing device 100). A single soft button, for exampleButton C 206, may also provide different commands depending on a levelof applied force. A medium touch may put the computing device 100 into asleep mode and a hard touch may shut down the computing device 100.

The force-sensitive touch sensor 108 detects touches and a touch profileincluding X, Y, and Z components may be interpreted by the computingdevice 100 according to any number of different threshold force levels,soft button locations, and the like. Chording by pressing multiple softbuttons simultaneously is also possible. For example, pressing Button A202 and Button C 206 with a medium touch while pressing Button B 204with a hard touch may correspond to a different command than anothercombination of buttons and pressures. In some implementations, this maybe used to simulate musical instruments such as a fret of a guitar.

FIG. 4 shows selective functional components 400 of the computing device100 from FIG. 1. In a basic configuration, the computing device 100includes a processor 402 and a memory 404. Each processor 402 may itselfcomprise one or more processors. The memory 404 may comprise StaticRandom Access Memory (“SRAM”), Pseudostatic Random Access Memory(“PSRAM”), Synchronous Dynamic Random Access Memory (“SDRAM”), DoubleData Rate SDRAM (“DDR”), Phase-Change RAM (“PCRAM”), or othercomputer-readable storage media. The computing device 100 may alsoinclude one or more input/output (I/O) interfaces 406. The I/O interface406 manages communications between the computing device 100, theprocessor 402, input devices, and output devices. In someimplementations the input and output devices may be contained in thesame housing or otherwise integrated with the computing device 100.

The memory 404 may store an operating system 408 configured to manageoperation of the computing device 100. The operating system 408 may beoperatively coupled to one or more device drivers 410. The devicedrivers 410 may control interactions with various I/O devices coupled tothe computing device 100 via the I/O interface 406. The memory 404 mayalso store data 412, which may comprise executable programs, databases,user settings, configuration files, user files, and so forth. Executableinstructions comprising a touch control module 414 may also be stored inthe memory 404. The touch control module 414 may be configured toreceive data from a force-sensitive touch sensor 416 coupled to thecomputing device 100 through the I/O interface 406. The force-sensitivetouch sensor 416 may be similar to the force-sensitive touch sensor 108shown in FIG. 1. In some implementations, the operating system 408, oneor more of the device drivers 410, and so forth, may perform some or allof the functions of the touch control module 414.

The force-sensitive touch sensor 416 may comprise cross point arrays,such as capacitive, magnetic, force sensitive resistors, interpolatingforce sensitive resistors, and so forth. The force-sensitive touchsensor 416 may be configured such that it is combined with a display 418to function as a touch-sensitive display like the touch screen 102 shownin FIGS. 1 and 2. The touch control module 414 is configured todetermine characteristics of interaction with the force-sensitive touchsensor 416. These characteristics may include the location of a touch onthe force-sensitive touch sensor 416, a magnitude of the force, shape ofthe touch, and so forth.

The output devices coupled to the I/O interface(s) 406 may include oneor more display components 418 (or “displays”). In some implementations,multiple displays may be present and coupled to the I/O interface(s)406. These multiple displays may be located in the same or differentenclosures or panels.

The display 418 may present content in a human-readable format to auser. The display 418 may be reflective, emissive, or a combination ofboth. Reflective displays utilize incident light and includeelectrophoretic displays, interferometric modulator displays,cholesteric displays, and so forth. Emissive displays do not rely onincident light and, instead, emit light. Emissive displays includebacklit liquid crystal displays, time multiplexed optical shutterdisplays, light emitting diode displays, and so forth. When multipledisplays are present, these displays may be of the same or differenttypes. For example, one display may be an electrophoretic display whileanother may be a liquid crystal display.

The I/O interface 406 may also connect to one or more other I/O devicessuch as keyboard, mouse, microphone, speaker, haptic vibrator, camera,global positioning system, PC Card component, and so forth.

Illustrative Usage Scenarios

The functionalities of a force-sensitive touch sensor allow for manypossible usage scenarios. Unlike a touch sensor lackingforce-sensitivity, the ability to detect how hard a user is pressingprovides another dimension to the input received from the hardware.Generally, a location of a touch on the force-sensitive touch sensor mayselect an item and the level of force may indicate a type of interactionwith that item. Several illustrative usage scenarios are shown below.

FIG. 5 depicts user interactions with a soft button 500 through acombination of isometric and isotonic operations. An isometric operationinvolves varying pressure (i.e., Z-axis input) of a touch withoutvarying position (i.e., X- and Y-axis). Conversely, an isotonicoperation involves varying the position of a touch without varyingpressure. The soft button 500 may be an image presented on a userinterface such as the user interface 200 of FIG. 2. The soft button 500is a metaphor for a physical button. The location and shape of the softbutton 500 may be determined by software such as the touch controlmodule 414. The soft button 500 and corresponding hand 502 areillustrated twice with a top representation intended to demonstrate theisometric operation and the bottom representation intended todemonstrate the isotonic operation. Touches detected by aforce-sensitive touch sensor may be interpreted by the touch controlmodule 414 shown in FIG. 4 as isometric operations or isotonicoperations.

Even when a user intends to perform only isometric (or isotonic)operations, he or she may not be able to avoid small isotonic (orisometric) movements. In some implementations, there may be a thresholdsimilar to the thresholds 318 and 320 shown in FIG. 3 below whichisotonic (or isometric) operations are ignored. The touch control module414 may also switch between isometric and isotonic modes during whichonly isometric or isotonic operations respectively are interpreted asuser input. Thus, detection of isotonic operations may temporarilysuspend interpretation of isometric operations and vice-versa.

In this example, the user may press on a touch sensor with his or herhand 502 to activate the soft button 500. Although a hand is shown, astylus or other implement may also be used. Pressing down on the softbutton 500 is an isometric operation 504. In response to the forceapplied to the touch screen, the touch control module 414 may advanceone item through a list 506 of items. The list 506 may advance one itemin response to a magnitude of force exceeding a threshold and thenreturning to a level below the threshold. Thus, every press advances thelist one item. The list 506 may show that “Day” is selected and then inresponse to the isometric operation 504, transition to show selection ofthe next item or “Month”. In other implementations, the item selected inthe list 506 changes based on a magnitude of force applied to the touchsensor. Thus, a soft touch may select “Day,” a medium touch may select“Month,” and a hard touch may select “Year.” In some implementations,the amount of force necessary to “press” the soft button 500 may bedifferent from the amount of force to “release” the soft button 500. Forexample, pushing beyond a threshold may activate the soft button 500,but allowing the amount of pressure to fall below the threshold may notdeactivate the soft button 500. The threshold to deactivate the softbutton 500 may be lower than the threshold to activate the soft button500.

Following the first, isometric, mode of input selecting an item, asecond, isotonic, mode of input may assign a value to the item. Theswitch from isometric mode to isotonic mode may be automatic based onanalysis of touch input by the touch control module 414. In otherimplementations, it may be manual, for example, by the user pressinganother soft button or otherwise explicitly instructing the computingdevice 100 to switch from isometric mode to isotonic mode.

Moving the hand 502, or another item, across the touch sensor from thesoft button 500 to the left is one example of an isotonic operation 508.This second mode of input, the isotonic operation 508, may assign avalue to the item selected by the previous isometric operation 504. Inthis example, the list 506 displaying the selected item “Month” maychange to displaying a value field 510 in which the user can indicatewhich month (i.e., the value) he or she wishes to assign to the item“Month.” Here, sliding the hand 502 to the left changes the value for“Month” from “July” to “June.” A distance of the lateral movement maydetermine how many months are changed (e.g., a short slide changes onemonth and a long slide changes six months) or a number of times thelateral movement is made may correspond to the change in month (e.g.,one slide to the left changes July to June, two slides changes July toMay, etc.). Other isotonic operations 508 besides sliding motions arealso possible.

Following the isotonic operation 508, the touch control module 414 mayinterpret a push on the soft button 500 as a signal to switch back tothe isometric mode of operation. The interaction may be repeated toassign a value to “Day” and to “Year.”

FIG. 6 depicts a sequence of user interface (UI) operations performed ona user interface 600 depicting multiple graphical icons. At time 1, anillustrative item on the user interface 600 may be a printer icon 602that represents a printer connected to the computing device 100 throughthe I/O interface(s) 406. The touch control module 414 may recognize atouch from the user's hand 604 (or other item) against one or morecontact points on the force-sensitive touch sensor 416. If the touchcontrol module 414 determines that the location on the force-sensitivetouch sensor 416 corresponds with the location of the printer icon 602,then the touch control module 414 may determine a magnitude of force 606applied at the printer icon 602. If the magnitude of force 606 exceeds athreshold (e.g., a medium touch) then the touch control module 414 mayinterpret that touch as a selection of the printer icon 602.

At time 2 following selection, movement of the hand 604 causes a visualmovement or drag 608 of the printer icon 602 across the user interface600. The printer icon 602 may be dragged 608 so long as the force 606 ismaintained above the threshold level and the printer icon 602 may bereleased once the applied force 606 falls below the threshold level(e.g., the user removes his or her finger from the force-sensitive touchsensor 416). This combination of push-and-slide is an isometricoperation followed by an isotonic operation similar to that shown abovein FIG. 5.

In some implementations, items (e.g., the printer icon 602) may beselected and dragged across the user interface 600 to a particulardestination. One type of destination may be another icon such as a fileicon 610. Dragging the printer icon 602 onto the file icon 610 may jointhe icons and modify the functionality of both icons. Alternatively, thefile icon 610 may be dragged to the printer icon 602. In someimplementations, an additional application of force 606 (e.g., a hardtouch) may be required to join the first icon with the second.

At time 3, the operating system 408 or other component of the computingdevice 100 may interpret the printer icon 602 joined with the file icon610 as a command to print the file. The user interface 600 may displayan indication 612 that the file is printing. The modified functionalityof an item (e.g., the printer icon 602) may be provided as a command tothe processor 402 of the computing device 100 when the force ceases tobe applied by the user. Thus, removing the hand 604 from the combinationof the printer icon 602 and the file icon 610 may start the printing. Ifpressure is kept on the icons, further combinations may be possible.

Although only two icon are discussed in this example, any number oficons may be chained together to create further modifications. Forexample, the joined printer icon 602 and the file icon 610 may becombined with an icon for color to indicate color printing. Other typesof items may, of course, be combined by this alternation of isometricoperations and isotonic operations.

FIG. 7 depicts user interaction with a rocker button 700 which may bepresented on the user interface 200 of FIG. 2. The rocker button 700 maybe configured as a graphic user interface element in which two areas ofa touch sensor that are adjacent or near one another (e.g. within about1-5 mm) function analogously to two sides of a physical rocker button.The location of the rocker button 700 may be a predefined region of thetouch sensor or the rocker button 700 may be created at any locationthat the user contacts the touch sensor. The rocker button 700 may besplit equally into two halves forming a first area 704 and a second area706. The touch control module 414 may be configured to detect a touchapplied to the first area 704, a touch applied to the second area 706,and to compare the magnitude of force applied to each area 704 and 706.Because the first area 704 and the second area 706 are adjacent or nearto one another, the user's hand 702 or other object may create a contactarea 708 that overlaps in part with the first area 704 and also overlapsin part with the second area 706. Thus, the user may actuate both areas704 and 706 simultaneously. In some implementations, the touch controlmodule 414 may be configured to respond only to isometric inputs,application of incident force, on the rocker button 700 and not respondto isotonic inputs.

Depending on the size and shape of the rocker button 700, a singlefinger 710 of the user's hand 702 may create a contact area 708 on therocker button 700 that spans the first area 704 and the second area 706.That touch creates an incident force 712 against the first area 704 andan incident force 714 against the second area 706. When the magnitude offorce 712 applied to the first area 704 is greater than the magnitude offorce 714 applied to the second area 706, the touch control module 414may initiate a first command. Conversely, as shown in FIG. 7, when themagnitude of force 714 applied to the second area 706 is greater thanthe magnitude of force 712 applied to the first area 704, the touchcontrol module 414 may interpret this touch as a signal to initiate asecond command. The first command and the second command may be, but arenot necessarily, opposite commands that increase and decrease,respectively, a value (e.g., raise a number by one or lower the numberby one, increased the pitch of a musical note or decrease the pitch ofthe musical note, etc.). The amount of force 712 and 714 may also changea rate at which the value changes. For example, a greater amount offorce 712 on the first area 704 may increase the value faster than alesser amount of force 712 on the first area 704.

In some implementations, the touch sensor technology (e.g., IFSR) maydetect true anti-alias images of the incident force applied to therocker button 700. The anti-aliased images allow for very precise andsmooth detection of changes in the relative force 712 and 714 applied tothe first area 704 and the second area 706. Thus, when the incidentforce is applied by a finger 710, the relative magnitude of force 712applied to the first area 704 and that relative magnitude of force 714applied to the second area 706 may vary due to a change in the angle atwhich the finger 710 contacts the surface of the rocker button 700.Thus, the user can change a command generated by the rocker button 700by changing only his or her finger angle without deliberately changingfinger pressure.

As the angle at which the finger 710 contacts the touch sensor changes,the contact area 708 may move slightly. A similar change in X and Yposition of the contact area 708 may occur when the finger 710 is slidacross the surface of the touch sensor. An amount of force 712 and 714applied by the finger 710 may be used to differentiate between achanging angle of contact and a slide. For example, if an approximatecoefficient of friction between the finger 710 (or other object such asa stylus) and the touch sensor is known, then the touch control module414 may recognize that a light touch will side across the surface of thetouch sensor easier than a firm touch and differentiate between aleaning finger and a sliding finger based on the amount of applied force712 and 714 in conjunction with the coefficient of friction.

FIG. 8 depicts a rocker button 800 having four discrete contact areas.The first area 802 and the second area 804 of the rocker button 800 maybe similar to the first area 704 and the second area 706 shown in FIG.7. In addition, the rocker button 800 includes a third area 806 and afourth area 808. At the center of these four areas 802, 804, 806, and808 is a contact area 810 formed by an object, such as a finger,touching the center of the rocker button 800. In this exampleconfiguration, the rocker button 800 is arranged such that a line 812bisecting the first and second areas 802 and 804 is perpendicular to aline 814 bisecting the third and fourth areas 806 and 808. In somearrangements, the two bisecting lines 812 and 814 may align with the X-and Y-axis of the force-sensitive touch sensor 108 as shown in FIG. 1.

In this example, the contact area 810 is slightly off center shiftedtowards the fourth area 808. The corresponding magnitudes of appliedforce detected by the four areas 802, 804, 806, and 808 of the rockerbutton 800 are shown in graph 816. The height of each bar represents themagnitude of applied force 818. In some implementations, there may be anactivation threshold 820 below which pressure on the rocker button 800is ignored by the touch control module 414. Here, the magnitude ofapplied force detected at the fourth area 808 is greater than themagnitude of force applied to any of the other three areas 802, 804, and806, and thus, this may be interpreted as a signal to initiate a commandassociated with the fourth area. In other implementations, an amount offorce applied to each area of the rocker button 800 may be compared withan amount of force applied to the opposite area. For example, forceapplied to the second area 804 is compared with force applied to thefirst area 802 and in this example the force applied to the second area804 is greater. Pressure on the rocker button 800 may be interpreted asmultiple commands, for example, a command associated with the fourtharea 808 and a command associated with the second area 804. For example,the rocker button 800 may be used to control horizontal and verticalscroll bars of a display window. Approximately equal pressure on thefour areas 802, 804, 806, and 808 of the rocker button 800 may also beinterpreted a press on a soft button such as the soft button 500 shownin FIG. 5. Alternatively, an amount of pressure that exceeds a thresholdon one or more of the four areas 802, 804, 806, and 808 may beinterpreted as activation of a soft button (i.e., pressing hard on therocker button 800 turns it into a soft button). Thus, a single region ofa touch screen, or other touch sensor, may function both as apress-to-activate soft button and as a rocker button.

When the magnitude of force on the second area 804 exceeds the magnitudeof force on the first area 802 that may be interpreted by the touchcontrol module 414 as a command to move the vertical scroll bar down.Similarly, when the magnitude of force on the fourth area 808 exceedsthe magnitude of force on the third area 806, the action may beinterpreted by the touch control module 414 as a command to move thehorizontal scroll bar to the right. Although two illustrativeconfigurations of rocker buttons 700 and 800 with two and four areasrespectively are shown in FIGS. 7 and 8, it is to be understood thatother configurations are also within the scope of this disclosure. Forexample, a rocker button may be omnidirectional and capable of detectingthe angle of applied force in 360° (not just two or four directions).The differential pressure is in the horizontal and vertical directionsmay change horizontal and vertical components of any two-dimensionalvalue vector.

FIG. 9 depicts the tablet input device 106 of FIG. 1 functioning as aninput device to generate a touch cursor on a display 900. As discussedabove, a hand 902, a stylus 104, or other object in contact with thetablet 106 may be detected by force-sensitive touch sensors. The tablet106 may also detect a magnitude of force 904 generated by the objecttouching the force-sensitive touch sensor. As shown in the illustrationof the tablet 106, the hand 902 and the stylus 104 may be usedsimultaneously to interact with the tablet 106. A single user mayinteract with the tablet 106 by pointing with one hand 902 and byholding the stylus 104 in another hand. Multiple users may also interactwith the tablet 106 simultaneously using any combination of hands andstyluses.

In this illustration, a touch cursor or pointer is generated on thedisplay 900 having a location on the display that is based on theposition of the object creating force 904 against the force-sensitivetouch sensor in the tablet 106. For example, pressing on the upper rightof the tablet 106 results in a pointer being displayed in the upperright of the display 900. Touches made by a stylus 104 or a hand 902 maybe differentiated from one another and different looking pointers may begenerated for each. For example, a touch by the stylus 104 may correlatewith a stylus pointer 906 and a touch generated by a finger of the hand902 may correspond to a finger pointer 908.

Each of the pointers 906 and 908 moves on the display in response to thecorresponding objects 104 and 902 moving across the surface of theforce-sensitive touch sensor in the tablet 106. Each of the pointers 906and 908 may interact with objects displayed on the display 900 such as asoft button 910. In this example, the finger pointer 908 is over thesoft button 910. When a magnitude of force applied by the hand 902 tothe force-sensitive touch sensor exceeds a threshold force then thetouch control module 414 may interpret that as a signal to activate afunction represented by the soft button 910. Similar to the soft button500 shown in FIG. 5, the soft button 910 may respond to different levelsof force with different functionality. Activation of the soft button 910by the stylus pointer 906 may generate a different functionality thanactivation by the finger pointer 908.

FIG. 10 shows a force-sensitive touch-screen display 1000 receivingtouch input from three hands 1002, 1004, and 1006 and generatingcorresponding pointers 1008, 1010, and 1012. The three hands 1002, 1004,and 1006 may represent hands of three different users interacting withthe touch-screen display 1000 at the same time or a single hand at threedifferent time points. Unlike the tablet 106 and display 900 shown inFIG. 9, here the force-sensitive input sensors are integrated into thedisplay to create the force-sensitive touch-screen display 1000. Becausethe surface that receives touch input is also the display, it ispossible for an object touching the touch sensor to obscure part of thedisplay. To avoid a pointer becoming “lost” beneath a finger touchingthe display a visual representation of a pointer 1008, 1010, or 1012 maybe larger than the size of the contact area of the finger with thedisplay 1000. Although a stylus may not obscure the display to the samedegree as a finger, the pointer that corresponds to a stylus may also bescaled based on the contact area.

A graph 1014 shows illustrative magnitudes of applied force 1016 foreach of the hands 1002, 1004, and 1006. In this example, the hand 1002is applying a soft touch 1018 to the touch-screen 1000. The hand 1004 isapplying a medium touch 1020 and the hand 1006 is applying a hard touch1022. A size of the visual representation of the pointer 1008, 1010, or1012 may also change with the magnitude of force applied to thetouch-screen display 1000. The size of the visual representation of thepointer may change as the force applied to the touch-screen display 1000changes. For example, increasing incident force may cause the pointer tochange from the small pointer 1008 to the medium pointer 1010 and thento the large pointer 1012. The change may be continuous so that the sizeof the pointer smoothly changes as the magnitude of the force changes.In other implementations, the visual representation of the pointer maychange size discontinuously switching from one visual representation toanother when the magnitude of force exceeds a threshold. One type ofchange in visual representation is a change in size; however, otherchanges are also possible such as a change in color or shape of thepointer depending on the amount of incident force. For example, thevisual representation of the pointer may change as the magnitude offorce approaches a threshold. As one example, the pointer could be anopen circle that fills in with a color as the magnitude of forceapproaches a threshold and becomes completely filled in at thethreshold. This type of visual feedback could alert as user when he orshe is close to reaching a threshold magnitude of force. Also,transitioning over a threshold (in any of the implementations discussedherein) may be accompanied by non-visual feedback such as a sound or ahaptic response. The graph 1014 shows a first threshold 1024 and asecond threshold 1026. In this example, levels of incident force lessthan the first threshold 1024 such as the soft touch 1018 may berepresented by the small pointer 1008. Levels of force above the firstthreshold 1024 but below the second threshold 1026 may be represented bythe medium pointer 1010 and levels of force that exceed the secondthreshold 1026 may be represented by the large pointer 1012. Althoughtwo thresholds and three pointer sizes are shown in this example, anynumber of thresholds and discrete pointer representations are possible.In some implementations, the number of discrete categories may be sonumerous that discontinuous changes in the visual representation of thepointer appear to be continuous.

Illustrative Process of a Generating a Touch Cursor

FIG. 11 illustrates example process 1100 that may be implemented by thearchitecture of FIG. 1 using the computing device(s) 100 shown in FIGS.1 and 4 for the use cases shown in FIGS. 9 and 10. This process isillustrated as a collection of blocks in a logical flow graph, whichrepresents a sequence of operations that can be implemented in hardware,software, or a combination thereof. In the context of software, theblocks represent computer-executable instructions that may be stored onone or more computer-readable storage media and that, when executed byone or more processors, perform the recited operations. Generally,computer-executable instructions include routines, programs, objects,components, data structures, and the like that perform particularfunctions or implement particular abstract data types. The order inwhich the operations are described is not intended to be construed as alimitation, and any number of the described blocks can be combined inany order or in parallel to implement the processes.

At 1102, an object touching a force-sensitive touch sensor is detected.As discussed previously, the object may be a finger, a stylus, or someother object.

At 1104, any additional objects touching the force-sensitive touchsensor are detected. If an additional object is present (i.e., the “yes”branch at 1104), an additional pointer is generated on the display basedon the position of the additional object at 1106. Although not shown,any number of additional objects may be detected and assigned pointers.For example, a user could place all five fingers of one hand onto theforce-sensitive touch sensor and five pointers would appear on thedisplay corresponding to the locations of the five fingers on the touchsensor. The detection of additional objects may be repeated until noadditional objects are found.

If no more additional objects are present (i.e., the “no” path at 1104),pointer(s) are generated on the display at 1108. The locations of thepointer(s) are based on position(s) of the object(s) touching theforce-sensitive touch sensor. The visual representation of the pointermay vary depending on the object that is touching the force-sensitivetouch sensor. For example, a pointer generated from a finger touchingthe touch sensor may be visually different than the pointer generated bya stylus.

At 1110, the pointer(s) may be moved on the display in response to theobject(s) moving on the force-sensitive touch sensor. In other words,horizontal and/or vertical movements of the object(s) on theforce-sensitive touch sensor may be mirrored by corresponding horizontaland/or vertical movement of the pointer(s) on the display.

At 1112, a magnitude of force generated by the object(s) touching theforce-sensitive touch sensor is detected. As shown in FIG. 1, the forcemay provide Z-axis input in addition to the horizontal and verticalinput provided by the force-sensitive touch sensor.

At 1114, it is determined if a magnitude of force generated by theobject(s) touching the force-sensitive touch sensor exceeds a firstthreshold level of force. This first threshold may be similar to the lowthreshold 318 shown in FIG. 3. As discussed above with respect to FIG.3, the threshold may be absolute or relative. If the magnitude of forcedoes not exceed the threshold (i.e., the “no” branch at 1114), themagnitude of force continues to be monitored at 1112. The cycle may berepeated until the magnitude of force exceeds the first threshold.

If the magnitude of force exceeds the first threshold (i.e., the “yes”path at 1114), a function of a soft button underneath the pointer isactivated at 1116. The activation of the soft button may be similar tothat shown in FIGS. 3, 5, and/or 9.

At 1118, it is determined if the force applied to the force-sensitivetouch sensor exceeds a second threshold. The second threshold may besimilar to the high threshold 320 shown in FIG. 3. If the amount offorce does not exceed this second threshold (i.e., the “no” path from1118), the magnitude of force continues to be monitored at 1112.

When the amount of force exceeds the second threshold (i.e., the “yes”branch from 1118), there are various responses that may be implemented.Two possible responses are shown. One possible response is to activatean additional function of the soft button at 1120. As discussed above, agiven soft button may have multiple functions assigned to it dependingon the level of force applied to the touch-sensitive touch sensor. Inanother possible response, a function of an additional soft buttonlocated at a different point on a display than the first soft button maybe activated by the force that exceeds the second threshold at 1122. Forexample, the display may present a user interface with multiple softbuttons that respond to different levels of force. The operation at 1122represents pressing on a portion of the force-sensitive touch sensorthat corresponds to a soft button requiring a “hard” touch to activate.

Illustrative Three-Dimensional Object Manipulation Techniques

All of the displays discussed previously (e.g., the touch-screen display102, the display 418, the display 900, the touch-screen display 1000)are two-dimensional displays capable of displaying representations ofthree-dimensional objects. The force-sensitive touch sensor by measuringboth gestures along X- and Y-axis as well as pressure differentials todetermine a Z-axis provides an input device that allows for intuitivemanipulation of representations of three-dimensional objects. Variouscombinations of multiple touches including isotonic operations and/orisometric operations may be interpreted, for example, by the touchcontrol module 414 as commands to alter the display of athree-dimensional object. Many touch combinations may be initiated byusing two or more fingers of the hand to change the display of thethree-dimensional object. Although shown in the following figures as auser interacting with a touch-screen display, the user could alsointeract “indirectly” with the three-dimensional object by using a touchsensitive tablet and viewing his or her touches represented as pointerson a display.

FIG. 12 shows a swipe gesture 1200 changing the display of athree-dimensional object 1202. The swipe gesture 1200 is initiated byone or more touches on the force-sensitive touch sensor followed by aswiping or sliding gesture across the surface of the touch sensor. Inthis example, two contact points are made with the touch sensorrepresented here by a first touch 1204 and a second touch 1206. Thefirst touch 1204 and the second touch 1206 may be generated by the indexand middle fingers of a user's hand 1208. In some implementations, theforce of the first and second touches 1204 and 1206 must exceed athreshold level of force before the swipe gesture 1200 is initiated. Alevel of force may be determined independently for the first touch 1204and the second touch 1206 and, in some implementations, the swipegesture 1200 may be initiated when the force of the touches 1204 and1206 either each individually or in total exceeds the threshold level.Thus, if the level of applied force is low the user may pass his or herhand 1208 over the three-dimensional object 1202 without initiating theswipe gesture 1200. Here, as the hand 1208 moves in a generallyhorizontal direction to the right, the representation of thethree-dimensional object 1202 is also moved to the right on the display.Movement is not, of course, limited to only horizontal. Thethree-dimensional object 1202 may be moved along a plane parallel to thetwo-dimensional display in the same direction as the swipe gesture 1200thus naturally tracking the movement of the user's hand 1208. The swipegesture 1200 may move the three-dimensional object 1202 in any directionalong the X-axis or Y-axis shown in FIG. 12.

FIG. 13 shows a pinch gesture 1300 changing the display of athree-dimensional object 1302. The pinch gesture 1300 may be created bya plurality of contact areas on the force-sensitive touch sensorrepresented by a first touch 1304 and a second touch 1306 moving closertogether. The first touch 1304 and the second touch 1306 may be createdby an index finger and a thumb of a user's hand 1308 contacting theforce-sensitive touch sensor. In some implementations, the force of thefirst and second touches 1304 and 1306 must exceed a threshold level offorce before the pinch gesture 1300 is initiated. The level of force maybe determined independently for the first and second touches 1304 and1306 and, in some implementations, the pinch gesture 1300 may beinitiated when the force of the touches 1304 and 1306 either eachindividually or in total exceeds the threshold level. When the firsttouch 1304 and the second touch 1306 move closer together therepresentation of the three-dimensional object 1302 changes so that theobject 1302 appears farther from a surface of the display oralternatively decreases the scale of the object 1302. In other words, itappears as if the three-dimensional object 1302 moves backwards awayfrom the display screen. Thus, the pinch gesture 1300 moves thethree-dimensional object 1302 along the z-axis in a direction away fromthe screen.

FIG. 14 shows a spread gesture 1400 changing the display of athree-dimensional object 1402. The spread gesture 1400 may be thought ofas the converse to the pinch gesture 1300. A plurality of touches, herea first touch 1404 and a second touch 1406, are made on theforce-sensitive touch sensor. The first touch 1404 and the second touch1406 may be made by an index finger and a thumb of the user's hand 1408.In some implementations, the force of the first and second touches 1404and 1406 must exceed a threshold level of force before the spreadgesture 1400 is initiated. The level of force may be determinedindependently for the first and second touches 1404 and 1406 and, insome implementations, the spread gesture 1400 may be initiated when theforce of the touches 1404 and 1406 either each individually or in totalexceeds the threshold level. As the index finger and the thumb spreadapart the first touch 1404 and the second touch 1406 move farther aparton the force-sensitive touch sensor. In response to the spreading of thetwo (or more) touches the representation of the three-dimensional object1402 is changed so that the three-dimensional object 1402 appears tomove closer to the surface of the display or alternatively increases thescale of the object 1402. In other words, the spread gesture 1400 causesthe three-dimensional object 1402 to appear to move along the Z-axis ina direction towards the screen.

FIG. 15 shows a rotation gesture 1500 changing the display of athree-dimensional object 1502. The rotation gesture 1500 may be formedby multiple touches such as, for example, three touches represented hereas a first touch 1504, a second touch 1506, and a third touch 1508. Thetouches may be generated by a middle finger, an index finger, and athumb of the user's hand 1510. In this illustration, a shape defined bythe three contact points of the first, second, and third touches 1504,1506, and 1508 rotates on the force-sensitive touch sensor in acounterclockwise direction. In some implementations, the force of themultiple touches must 1504, 1506, and 1508 exceed a threshold level offorce before the rotation gesture 1500 is initiated. The level of forcemay be determined independently for each of the touches 1504, 1506, and1508 and, in some implementations, the rotation gesture 1500 may beinitiated when the force of the touches 1504, 1506, and 1508 either eachindividually or in total exceeds the threshold level. In response to therotation, the display changes to show the three-dimensional object 1502rotating around an axis of rotation 1512 that is a normal of a planedefined by the two-dimensional display. The direction of rotation 1514around the axis of rotation 1512 is the same as the direction in whichthe first, second, and third touches 1504, 1506, and 1508 rotate. Theaxis of rotation 1512 is the z-axis in this illustration. Thus, therotation gesture 1500 may change the display of the three-dimensionalobject 1502 so that it appears to rotate either clockwise orcounterclockwise around the z-axis.

FIG. 16 shows a different type of rotation gesture 1600 changing thedisplay of a three-dimensional object 1602. The rotation gesture 1600may be formed by a plurality of touches having different force levels. Afirst touch 1604 and a second touch 1606 may be generated by a thumb andindex finger of the user's hand 1608. Detecting a difference in themagnitude of force applied by the first touch 1604 and the second touch1606 may cause the display to show the three-dimensional object 1602rotating. In this example, the amount of force 1610 applied by the firsttouch 1604 is less than the amount of force 1612 applied by the secondtouch 1606. Here, the force differential between the first touch 1604and the second touch 1606 causes the representation of thethree-dimensional object 1602 to rotate along an axis 1614 parallel tothe display and perpendicular to a line 1616 connecting the first touch1604 with the second touch 1606. When looking down from the top of thethree-dimensional object 1602 the direction of rotation 1618 iscounterclockwise. Thus, in this example the three-dimensional objectwould appear to rotate towards to the right because the second touch1606 has a greater magnitude of force 1612 than the first touch 1604.With this interface, the axis of rotation 1614 can be easily altered bychanging the placement of the first touch 1604 and the second touch 1606and thus the orientation of the line connecting the touches 1616.

CONCLUSION

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described. Rather,the specific features and acts are disclosed as illustrative forms ofimplementing the claims. For example, the methodological acts need notbe performed in the order or combinations described herein, and may beperformed in any combination of one or more acts.

What is claimed is:
 1. A method comprising: under control of one or morecomputer systems configured with executable instructions, displaying arepresentation of a three-dimensional object on a display; detecting,via a force-sensitive touch sensor, a first indication of a first touchinput; determining a first value representing a first magnitude of forceassociated with the first touch input; detecting, via theforce-sensitive touch sensor, a second indication of a second touchinput; determining a second value representing a second magnitude offorce associated with the second touch input; detecting, via theforce-sensitive touch sensor, a third indication of a third touch input;determining a threshold force value, wherein the threshold force valueis based at least in part on detecting the third indication of the thirdtouch input for an amount of time greater than a threshold period oftime; determining that a sum of the first value and the second valueexceeds the threshold force value; and modifying, based at least in parton the first value and the second value exceeding the threshold forcevalue, the representation of the three-dimensional object.
 2. The methodas recited in claim 1, further comprising: detecting a first change in alocation of the first touch input from a first location on theforce-sensitive touch sensor to a second location on the force-sensitivetouch sensor; detecting a second change in a location of the secondtouch input from a third location on the force-sensitive touch sensor toa fourth location on the force-sensitive touch sensor; and modifying,based at least in part on the first change and the second change, therepresentation of the three-dimensional object on the display.
 3. Themethod as recited in claim 1, further comprising: determining a firstchange in a location of the first touch input from a first location ofthe force-sensitive touch sensor to a second location of theforce-sensitive touch sensor; determining a second change in a locationof the second touch input from a third location of the force-sensitivetouch sensor to the second location of the force-sensitive touch sensor;and modifying a size of the representation of the three-dimensionalobject so that the representation of the three-dimensional objectappears smaller on the display.
 4. The method as recited in claim 1,further comprising: determining a first change in a location of thefirst touch input from a first location of the force-sensitive touchsensor to a second location of the force-sensitive touch sensor;determining a second change in a location of the second touch input froma third location of the force-sensitive touch sensor to a fourthlocation of the force-sensitive touch sensor in a directionsubstantially opposite the first direction; and modifying a size of therepresentation of the three-dimensional object so that therepresentation of the three-dimensional object appears larger on thedisplay.
 5. The method as recited in claim 1, further comprising:detecting, via the force-sensitive touch sensor, a fourth indication ofa fourth touch input; determining a fourth value representing a fourthmagnitude of force associated with the fourth touch input; determiningthat a sum of the first value, the second value, and the fourth valueexceeds the threshold force value; determining a first change in alocation of the first touch input from a first location of theforce-sensitive touch sensor to a second location of the force-sensitivetouch sensor, the first change representing a first rotation of thefirst touch input about a point on the force-sensitive touch sensor fromthe first location to the second location; determining a second changein a location of the second touch input from a third location of theforce-sensitive touch sensor to a fourth location of the force-sensitivetouch sensor, the second change representing a second rotation of thesecond touch input about the point on the force-sensitive touch sensorfrom the third location to the fourth location; determining a fourthchange in a location of the fourth touch input from a fifth location ofthe force-sensitive touch sensor to a sixth location of theforce-sensitive touch sensor, the fourth change representing a fourthrotation of the fourth touch input about the point on theforce-sensitive touch sensor from the fifth location to the sixthlocation; and rotating the representation of the three-dimensionalobject on the display about the point on the force-sensitive touchsensor based at least in part on the first change, the second change,and the fourth change.
 6. The method as recited in claim 1, furthercomprising: determining a difference between the first value and thesecond value; and modifying the representation of the three-dimensionalobject by rotating the three-dimensional object about an axis parallelto the display and perpendicular about an axis between the first touchinput and the second touch input.
 7. The method as recited in claim 1,further comprising: displaying on display, a first indicator associatedwith the first touch input, the first indicator corresponding in size tothe first value; and displaying, on the display, a second indicatorassociated with the second touch input, the second indicatorcorresponding in size to the second value.
 8. A device comprising: oneor more processors; a memory coupled to the one or more processors; aninput/output interface coupled to the one or more processors configuredto receive input from a force-sensitive touch sensor and send an imageto a display; and a touch control component stored in the memory andconfigured to execute on the one or more processors to: determine afirst contact point associated with a first touch input on theforce-sensitive touch sensor; determine a second contact pointassociated with a second touch input on the force-sensitive touchsensor; determine a third contact point associated with a third touchinput on the force-sensitive touch sensor; determine a first valuerepresenting a first magnitude of force corresponding to the first touchinput; determine a second value representing a second magnitude of forcecorresponding to the second touch input; determine a third valuerepresenting a third magnitude of force corresponding to the third touchinput; determine that the third value is greater than a first thresholdforce value for a period of time greater than a threshold period oftime; determine that a sum of the first value and the second valueexceeds a second threshold force value, wherein the second thresholdforce value is based at least in part on the third value being greaterthan the first threshold force value for the threshold period of time;determine a change in a location associated with at least one of thefirst touch input or the second touch input; and modify the image on thedisplay based at least in part on the sum of the first value and thesecond value exceeding the threshold force value and the change inlocation.
 9. The device as recited in claim 8, wherein the touch controlmodule is further configured to execute on the one or more processorsto: determine a first surface area on the force-sensitive touch sensorcorresponding to the first touch input; determine a second surface areaon the force-sensitive touch sensor corresponding to the second touchinput; and determine, for the first touch input and the second touchinput, a type of object contacting the first contact point and thesecond contact point on the force-sensitive touch sensor.
 10. The deviceas recited in claim 8, wherein the touch control module is furtherconfigured to execute on the one or more processors to: determine afirst change in the location associated with the first touch input in afirst direction on the display; determine a second change in thelocation associated with the second touch input in the first directionon the display; and modify the image on the display by moving the imagein the first direction on the display.
 11. The device as recited inclaim 8, wherein the touch control module is further configured toexecute on the one or more processors to: determine a change in thelocation associated with the first touch input from a first location onthe force-sensitive touch sensor to a second location on theforce-sensitive touch sensor; determine a change in the locationassociated with the second touch input from a third location on theforce-sensitive touch sensor to the second location on theforce-sensitive touch sensor; and modify the image on the display bydecreasing a scale of the image on the display.
 12. The device asrecited in claim 8, wherein the touch control module is furtherconfigured to execute on the one or more processors to: determine afirst change in the location associated with the first touch input froma first location on the force-sensitive touch sensor to a secondlocation on the force-sensitive touch sensor; determine a second changein the location associated with the second touch input from a thirdlocation on the force-sensitive touch sensor to a fourth location on theforce-sensitive touch sensor, the fourth location substantially in adirection opposite the second location on the force-sensitive touchsensor; and modify the image on the display by increasing a scale of theimage on the display.
 13. The device as recited in claim 8, wherein thetouch control module is further configured to execute on the one or moreprocessors to: determine a fourth contact point associated with a fourthtouch input on the force-sensitive touch sensor; determine a fourthvalue representing a fourth magnitude of force corresponding to thefourth touch input; determine that a sum of the first value, the secondvalue, and the fourth value exceeds the threshold force value; determinea change in the location associated with the first touch input, thesecond touch input, and the fourth touch input, wherein the change inthe location indicates a movement of each of the first contact point,second contact point, and fourth contact point in a counterclockwisedirection around a point on the force-sensitive touch sensor; androtate, based at least in part on the change in location, the image onthe display.
 14. The device as recited in claim 8, wherein the touchcontrol module is further configured to execute on the one or moreprocessors to: determine that the first value corresponding to the firsttouch input is greater than the second value corresponding to the secondtouch input; modify the image on the display by rotating the image abouta point midway between a first location of the first touch input and asecond location of the second touch input, wherein the image is rotatedin a direction substantially toward the first location of the firsttouch input.
 15. A computer-implemented method comprising: under controlof one or more computing systems with executable instructions,displaying an image on a display coupled with a touch sensor; detecting,via the touch sensor, a first indication of a first touch input on thedisplay; determining a first value representing a first magnitude offorce associated with the first touch input; presenting, on the display,a first pointer corresponding to the first touch input; detecting, viathe touch sensor, a second indication of a second touch input on thedisplay; determining a second value representing a second magnitude offorce associated with the touch input; presenting, on the display, asecond pointer corresponding to the second touch input; determining thata sum of the first value and the second value exceeds a first thresholdforce value; updating, based at least in part on the sum of the firstvalue and the second value exceeding the first threshold force value,display of the first pointer and the second pointer; determining that adifference between the first value and the second value exceeds a secondthreshold force value; modifying the image on the display by rotatingthe image in a first direction towards a first location of the firsttouch input based at least in part on: the sum of the first value andthe second value exceeding the first threshold force value, and thedifference between the first value and the second value exceeding thesecond threshold force value; detecting, via the touch sensor, one ormore touches for a period of time that is greater than a thresholdperiod of time; and adjusting, based at least in part on detecting theone or more touches for the period of time that is greater than thethreshold period of time, the first threshold force value.
 16. Thecomputer-implemented method as recited in claim 15, further comprising:detecting, via the touch sensor, a fourth indication of a fourth touchinput on the display; determining a fourth value representing a fourthmagnitude of force associated with the fourth touch input; determiningthat a sum of the first value, the second value, and the fourth valueexceeds the threshold force value; determining a first change in alocation of the first touch input, the first change representing a firstrotation of the first location of the first touch input about a point onthe touch sensor; determining a second change in a location of thesecond touch input, the second change representing a second rotation ofthe second location of the second touch input about the point on thetouch sensor; determining a fourth change in a location of the fourthtouch input, the fourth change representing a fourth rotation of thefourth location of the fourth touch input about the point on the touchsensor; and rotating the image on the display at the point on the touchsensor based at least in part on the first change, the second change,and the fourth change.
 17. The computer-implemented method as recited inclaim 15, further comprising: determining a first change of a locationof the first touch input from the first location of the touch sensortoward a third location of the touch sensor in a second direction;determining a second change of a location of the second touch input fromthe second location toward a fourth location, the second change insubstantially the second direction; and modifying the image on thedisplay by moving the image in the second direction across the surfaceof the display.
 18. The computer-implemented method as recited in claim15, further comprising: determining a first change of a location of thefirst touch input from the first location of the touch sensor toward athird location of the touch sensor; determining a second change of alocation of the second touch input from the second location toward thethird location of the touch sensor; and modifying the image on thedisplay by decreasing a scale of the image on the display.
 19. Thecomputer-implemented method as recited in claim 15, further comprising:determining a first change of a location of the first touch input fromthe first location of the touch sensor toward a third location of thetouch sensor; determining a second change of a location of the secondtouch input from the second location toward a fourth location of thetouch sensor, the fourth location substantially in a second directionopposite the third location on the force-sensitive touch sensor; andmodifying the image on the display by increasing a scale of the image onthe display.